const Event = require('./lib/emitter')
import MESSAGE from './message'
/**
 * 
 * 是一个游戏入口，管理游戏对象
 * 管理Player链接
 */

export default class MyEvent extends Event {

    constructor() {
        super()
        //WS_CLOSE
        super.on(MESSAGE.WS_CLOSE, this.wsError)

        //注册抛出的websocket错误消息，
        super.on(MESSAGE.WS_ERROR, this.wsError)

        //注册接收到的数据 ,  
        super.on("S_NOTIFY", this.onNotify) 
    }


    private wsError(event) {
        var sponsor = event.sponsor;
        if (sponsor && sponsor.doWsError) {
            sponsor.doWsError(event);
        }
    }

    /**
     * 来自PlayerServ的通知；
     * 1、biz_type = player_battle_notify ，玩家战斗信息
     * 2、biz_type = player_list , 玩家的状态数据，主要是指其他玩家的状态（位置、血量）
     * @param event 
     */
    private onNotify(event) {
        var sponsor = event.sponsor;
        if (sponsor && sponsor.doNotify) {
            sponsor.doNotify(event);
        }
    }
}